#include<bits/stdc++.h>
#define int long long
using namespace std;
char buf[1<<23],*p1=buf,*p2=buf,obuf[1<<23],*O=obuf;
#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
inline int read()
{
    int x=0,f=1;char ch=getchar();
    while(!isdigit(ch)){if(ch=='-') f=-1;ch=getchar();}
    while(isdigit(ch)) x=x*10+(ch^48),ch=getchar();
    return x*f;
}
inline void write(int x)
{
    if(!x)
        putchar('0');
    char F[200];
    int tmp=x>0?x:-x;
    if(x<0)
        putchar('-');
    int cnt=0;
    while(tmp>0)
        F[cnt++]=tmp%10+'0',tmp/=10;
    while(cnt>0)
        putchar(F[--cnt]);
}
const int maxn=8e5+10;
int n,q,deg[maxn],u[maxn<<1];
int d[maxn],idx,m,s[maxn];
int tot,rt[maxn];
vector<int> e[maxn],c[maxn<<1];
struct Node
{
	int l,r,val;
}a[50*maxn];
inline void cmx(int &x,int y)
{
	if(y>x)
		x=y;
	return;
}
inline void dfs(int x,int fa)
{
	if(x!=1)
	{
		u[++idx]=x;
		c[d[x]].push_back(idx);
		cmx(m,d[x]);
	}
	bool flag=0;
	for(auto y:e[x])
	{
		if(y==fa)
			flag=1;
		else
		{
			if(flag)
			{
				d[y]=d[x]+1;
				dfs(y,x);
				u[++idx]=x;
				c[d[y]].push_back(idx);
			}			
		}
	}
	for(auto y:e[x])
	{
		if(y==fa)
			break;
		d[y]=d[x];
		dfs(y,x);
		u[++idx]=x;
		c[d[y]].push_back(idx);
	}
	return;
}

signed main()
{
	freopen("dfs.in","r",stdin);
    freopen("dfs.out","w",stdout);
	n=read(),q=read();
	for(int i=1;i<=n;i++)
	{
		deg[i]=read();
		int x=read();
		for(int j=1;j<=deg[i]-1;j++)
			e[i].push_back(read());
		e[i].push_back(x);
	}
	puts("More Time!!!!!!!!!!!!!!!!!!!!!");
	return 0;
}
